package top.easycode.app.common;
/**
 * 正则表达式常量
 * @author david.feng
 * @date 2014-7-8 下午6:34:51
 */
public class RegexpConstant {

	/**
	 * 日期正则表达式，格式：yyyyMMddHHmmss
	 */
	public static final String DATE_REG_YYYY_MM_DD_HH_MM_SS = "[\\d]{4}[0-1][0-9][0-3][0-9][0-2][0-9][0-6][0-9][0-6][0-9]";
	
	/** 
	 * 日期正则表达式，格式：yyyyMMdd
	 */
	public static final String DATE_REG_YYYYMMDD = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)";
	
	/**
	 * 数值型
	 */
	public static final String NUMERICAL_REG = "\\d+";
	
	/**
	 * 短信类型/购卡类型/钱包系统交易类型 1位数字
	 */
	public static final String MAC_TYPE = "\\d+";
	
	/**
	 * 银行卡号正则，16位到20位数字
	 */
	public static final String CARD_NO_REG = "^[0-9]{16,19}$";
	
	/**
	 * 手机号验证
	 */
	public static final String MOBILE_REG = "1[3,5,4,7,8][0,1,2,3,4,5,6,7,8,9]\\d{8}";
	/**
	 * 短信验证码 6位数字
	 */
	public static final String MOBILE_MAC = "^\\d{6}$";
	/**
	 * 请求源必须为1，2，3中的一个
	 */
	public static final String SOURCE_TYPE="^(1|2|3)$";
	
	/**
	 * 姓名格式  暂定不能超过20位的任意字符
	 */
	public static final String USER_NAME = "^.{1,20}$";
	

	/**
	 * 身份证号码 要么是15位，要么是18位，最后一位可以为字母
	 */
	public static final String ID_CARD_NO = "(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])";
	
}
